// components/navbar/index.js
const App = getApp();

Component({

    options: {
        addGlobalClass: true,
        multipleSlots: true // 在组件定义时的选项中启用多slot支持
    },
    /**
     * 组件的属性列表
     */
    properties: {
        // 是否存在 tabbar
        exitsTabBar: {
            type: Boolean,
            value: false
        },
        pullDownLoading: {
            type: Boolean,
            value: false
        },

        // 是否自定义状态栏
        showNav: {
            type: Boolean,
            value: true
        },
        // 整个状态栏背景色
        navBgColor: {
            type: String,
            value: "white"
        },
        // 页面内容背景
        bodyBgColor: {
            type: String,
            value: "#f0f0f0"
        },
        // 标题颜色
        titleColor: {
            type: String,
            value: "black"
        },

        // 是否自定义返回图标。自定义返回图标 组件的 goBack 不生效
        customBackIcon: {
            type: Boolean,
            value: false
        },
        // 自定义图标的颜色
        backIconColor: {
            type: String,
            value: 'black'
        },
        // 自定义返回图标的函数
        customBackFun: {
            type: Boolean,
            value: false
        }
    },
    data: {
        window: {},
        loadingTop: 0,
        // 返回图标的颜色
        backIcon: '/static/tabar-icon/gobackblack.png',
        backIconArr: {
            white: '/static/tabar-icon/gobackwhite.png',
            black: '/static/tabar-icon/gobackblack.png'
        }

    },

    lifetimes: {
        attached: function () {
            this.setPageHeight();
            this.setLoadingMarginTop();
            //this.setBackIconColors();
        }
    },
    /**
     * 组件的方法列表
     */
    methods: {
        setPageHeight() {
            let pageHeight = App.globalData.window.navHeight + App.globalData.window.contentHeight + App.globalData.window.tabbarHeight
            if (this.data.exitsTabBar) {
                pageHeight = App.globalData.window.navHeight + App.globalData.window.contentHeight;
            }

            this.setData({
                window: App.globalData.window,
                'window.pageHeight': pageHeight,
                theamTextColor: App.globalData.theamTextColor
            })

        },
        setLoadingMarginTop: function () {
            let model = App.globalData.window.model;
            if ((model.indexOf("iPhone") >= 0 && model.indexOf("5") >= 0) || (model.indexOf("iPhone") >= 0 && model.indexOf("6") >= 0) || (model.indexOf("iPhone") >= 0 && model.indexOf("8") >= 0) || (model.indexOf("iPhone") >= 0 && model.indexOf("8") >= 0)) {
                this.setData({
                    loadingTop: 9,
                })
            } else if ((model.indexOf("iPhone") >= 0 && model.indexOf("X") >= 0) || model.indexOf("iPhone") >= 0 && model.indexOf("12") >= 0) {

                this.setData({
                    loadingTop: 20,
                })
            }
            //console.log("loadingTop", this.data.loadingTop)

        },
        setBackIconColors: function () {
            // 设置图标颜色
            let iconColor = this.data.backIconArr.white;
            if (this.data.backIconColor != "white") {
                iconColor = this.data.backIconArr.black;
            }
            this.setData({
                'backIcon': URLDecoder.decode(iconColor,"UTF-8")
            })
        },
        goBack: function () {
            if (this.data.customBackFun) {
                var myEventDetail = {} // detail对象，提供给事件监听函数
                var myEventOption = {} // 触发事件的选项
                this.triggerEvent('goBack', myEventDetail, myEventOption)
                return;
            }
            wx.navigateBack();
        }
    }
})
